malio-cpp
=========

An interpreter for the **malio programming language** written in C++. For more details on the specs, look up [deavmi](https://notabug.org/deavmi)'s [Malio language specification](https://notabug.org/org/Malio).

As of this moment, the interpreter is still in its babysteps, but as the malio specification gets more mature, so will the quality of this interpreter. Also, it has never been tried in a Windows environment, only Linux, but you're welcome to try, and modify the code as needed to make that happen.

## Malio language support checklist ##

Currently, `malio-cpp` supports the following builtin [methods](https://notabug.org/Malio/Documentation/src/master/Documentation.md#methods):

 - `print`
 - `writef`
 - the directives `program` and `end program`.

Features that are in the process of being implemented:

 - `copyf` method
 - `chdir` and `mkdir` methods
 - `removef` and `rmdir` methods
 - `input` function
 - Declaration and assignment of variables.

## Compiling and install instructions ##

Be aware that `malio` is written using a modern revision of the C++ standard (C++11), so that you will need a fairly modern compiler to build it (`g++` 4.9 and above work fine). 

From the terminal:

    make
    make install # installs in /usr/local/bin, might need root access. 

And then run:

    malio [FILE]

## Parser options ##

Currently, the `malio` interpreter does not implement any of the language options (not even testing ones), save for these:

 - `-h`: short help and overview on how to use the interpreter.
 - `-v`: displays the interpreter version.

More options might come as they're added to the language specifications, and may include even debugging support to the developer (depends on how much I can progress as well...)
